package com.hoapital.outpbillwork.module.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author lvyao
 * @since 2021-02-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("LAB_TEST_MASTER")
public class LabTestMaster implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("TEST_NO")
    private String testNo;

    @TableField("PRIORITY_INDICATOR")
    private Integer priorityIndicator;

    @TableField("PATIENT_ID")
    private String patientId;

    @TableField("VISIT_ID")
    private Integer visitId;

    @TableField("WORKING_ID")
    private String workingId;

    @TableField("EXECUTE_DATE")
    private Date executeDate;

    @TableField("NAME")
    private String name;

    @TableField("NAME_PHONETIC")
    private String namePhonetic;

    @TableField("CHARGE_TYPE")
    private String chargeType;

    @TableField("SEX")
    private String sex;

    @TableField("AGE")
    private Integer age;

    @TableField("TEST_CAUSE")
    private String testCause;

    @TableField("RELEVANT_CLINIC_DIAG")
    private String relevantClinicDiag;

    @TableField("SPECIMEN")
    private String specimen;

    @TableField("NOTES_FOR_SPCM")
    private String notesForSpcm;

    @TableField("SPCM_RECEIVED_DATE_TIME")
    private Date spcmReceivedDateTime;

    @TableField("SPCM_SAMPLE_DATE_TIME")
    private Date spcmSampleDateTime;

    @TableField("REQUESTED_DATE_TIME")
    private Timestamp requestedDateTime;

    @TableField("ORDERING_DEPT")
    private String orderingDept;

    @TableField("ORDERING_PROVIDER")
    private String orderingProvider;

    @TableField("PERFORMED_BY")
    private String performedBy;

    @TableField("RESULT_STATUS")
    private String resultStatus;

    @TableField("RESULTS_RPT_DATE_TIME")
    private Date resultsRptDateTime;

    @TableField("TRANSCRIPTIONIST")
    private String transcriptionist;

    @TableField("VERIFIED_BY")
    private String verifiedBy;

    @TableField("COSTS")
    private BigDecimal costs;

    @TableField("CHARGES")
    private BigDecimal charges;

    @TableField("BILLING_INDICATOR")
    private Integer billingIndicator;

    @TableField("PRINT_INDICATOR")
    private Integer printIndicator;

    @TableField("SUBJECT")
    private String subject;

    @TableField("VISIT_NO")
    private Integer visitNo;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("VISIT_DATE")
    private Date visitDate;

    @TableField("STATUS")
    private String status;

    @TableField("USER_ID")
    private String userId;

    @TableField("PRINT_FLAG")
    private String printFlag;

    @TableField("GREEN_FLAG")
    private String greenFlag;

    @TableField("COMPANY_FLAG")
    private String companyFlag;

    @TableField(exist = false)
    private String performedByName;


}
